1. Field of the Invention
This invention relates to virtual machines. More particularly, this invention relates to live remote migration of virtual machines over long distances.
2. Description of Related Art
The meanings of certain acronyms and abbreviations used herein are given in Table 1.
TABLE 1Acronyms and AbbreviationsDBDatabaseI/OInput/OutputLMBLogical Memory BlockOSOperating SystemQoSQuality of ServiceTCPTransmission Control ProtocolVLANVirtual Local Area NetworkVMVirtual MachineVMMVirtual Machine Manager
In computer environments, virtualization is the creation of substitutes for real resources, that is, substitutes that have the same functions and external interfaces as their counterparts, but differ in attributes, such as size, performance, and cost. These substitutes are called virtual resources, and their users or operating systems are typically unaware of the substitution. Virtualization is commonly applied to physical hardware resources by combining multiple physical resources into shared pools from which users receive virtual resources. With virtualization, one physical resource can appear as multiple virtual resources. Moreover, virtual resources can have functions or features that are not available in their underlying physical resources. Essentially, each operating system behaves as if it has the resources of an entire machine under its exclusive control, when in fact a virtualization layer transparently provides services to the operating services, which services effectively ensure that resources are properly shared between different operating system images and their applications.
Virtual machines (VMs) may be located within the hardware of a physical host. In the latter case, virtualization may be achieved using a virtual machine manager (VMM), known as a hypervisor. A hypervisor is typically implemented by a layer of code in software or firmware that operates in a privileged environment on the physical host and interacts with underlying hardware to share its resources dynamically among several operating systems.